﻿

namespace Mobile.Utility.Lib.IO.Compression
{
    public enum ZipLibraryMode
    {
        /// <summary>
        /// Only reading entries from the Library is permitted. If the underlying file or stream is seekable, then files will be read from the Library on-demand as they are requested. If the underlying file or stream is not seekable, the entire Library will be held in memory. Requires that the underlying file or stream is readable.
        /// </summary>
        Read,
        /// <summary>
        /// Only supports the creation of new Librarys. Only writing to newly created entries in the Library is permitted. Each entry in the Library can only be opened for writing once. If only one entry is written to at a time, data will be written to the underlying stream or file as soon as it is available. The underlying stream must be writeable, but need not be seekable.
        /// </summary>
        Create,
        /// <summary>
        /// Reading and writing from entries in the Library is permitted. Requires that the contents of the entire Library be held in memory. The underlying file or stream must be readable, writeable and seekable. No data will be written to the underlying file or stream until the Library is disposed.
        /// </summary>
        Update
    }
}
